/* 
 * PROJECT: NyARToolkit
 * --------------------------------------------------------------------------------
 * This work is based on the original ARToolKit developed by
 *  Copyright 2013-2015 Daqri, LLC.
 *  Author(s): Chris Broaddus
 *
 * The NyARToolkit is Java edition ARToolKit class library.
 *  Copyright (C)2016 Ryo Iizuka
 * 
 * NyARToolkit is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as publishe
 * by the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 * 
 * NyARToolkit is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Lesser General Public License for more details.
 * 
 * You should have received a copy of the GNU Lesser General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 * 
 * As a special exception, the copyright holders of this library give you
 * permission to link this library with independent modules to produce an
 * executable, regardless of the license terms of these independent modules, and to
 * copy and distribute the resulting executable under terms of your choice,
 * provided that you also meet, for each linked independent module, the terms and
 * conditions of the license of that module. An independent module is a module
 * which is neither derived from nor based on this library. If you modify this
 * library, you may extend this exception to your version of the library, but you
 * are not obligated to do so. If you do not wish to do so, delete this exception
 * statement from your version.
 * 
 */
package jp.nyatla.nyartoolkit.base.attoolkit5.kpm.vision.utils;

import java.util.ArrayList;
import java.util.List;

public class UnSortedMap<K,V> {
	public class Item
	{
		public K key;
		public V value;
	}
	private List<Item> _items=new ArrayList<Item>();
	private int getIndex(K k){
		for(int i=0;i<this._items.size();i++){
			if(this._items.get(i).key.equals(k)){
				return i;
			}
		}
		return -1;
	}
	public void put(K k,V v)
	{
		int idx=this.getIndex(k);
		if(idx==-1){
			Item i=new Item();
			i.key=k;
			i.value=v;
			this._items.add(i);
		}else{
			this._items.get(idx).value=v;
		}
	}
	public V get(K k)
	{
		int i=this.getIndex(k);
		if(i==-1){
			return null;
		}
		return this._items.get(i).value;
	}
	public int size()
	{
		return this._items.size();
	}
	public Item getItem(int i){
		return this._items.get(i);
	}

}
